Delivering mobile web and native applications tailored to different classes of target devices is a challenging endeavor. In many cases, developers must write separate code for each target platform (e.g., iOS, Android, BlackBerry) and include device-specific code for each device (e.g., iPhone 4S, iPhone 5). Other approaches involve keeping a massive database of devices and their characteristics (e.g., Wireless Universal Resource File (WURFL)) and customizing code based on the information included in the database, such as screen size, screen resolution, and other device characteristics.
Existing approaches include Responsive Web Design (RWD), which is a technique that attempts to serve web content to devices of all screen sizes. While RWD addresses the problem of displaying content in multiple types of devices, it (a) only works for web and does not provide for native application development, and (b) does not provide for differentiated user experiences through the of targeting specific device characteristics. Further, existing native application development platforms using JavaScript, HyperText Markup Language (HTML) and Cascading Style Sheets (CSS) are limited to native applications and lack the ability to efficiently target different devices.
Accordingly, systems and methods are needed for the delivery of content, behaviors, and experiences tailored to different type of devices without having to write different versions of code for each device and without the need for maintaining a comprehensive database of device characteristics.